home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 27.zip
/
BS1 part 27
/
PhonepakV2_d1.adf
/
programming
/
FAXXSpec.doc
Wrap
Text File
|
1992-07-19
|
3KB
|
84 lines
FAXX (IFF facsimile FORM)
IFF FORM / CHUNK DESCRIPTION
============================
Form/Chunk IDs:
FORM: FAXX
Chunks: FXHD, PAGE, FLOG
Date Submitted: 07/19/92
Submitted by: Christopher E. Darsch - Atlantis Design Group, Inc.
Revision: 1.1
FXHD Chunk
==========
The required property chunk "FXHD" contains a FaxHeader as defined in
the following header file. The FaxHeader contains data necessary to interpret
the data chunk "PAGE". The pixel size of the image can be determined from the
contents of the FaxHeader structure, as well as the dimensions of the source
document. The compression method used to encode the "PAGE" chunk is also part
of the FaxHeader.
PAGE Chunk
==========
The required data chunk "PAGE" contains the encoded bit-packed fax image
data that is transmitted/received during phase C of a facsimile communication.
The specifications for this data are contained in the CCITT Blue Book, Volume
VII, Fascicle VII.3, Recommendation T.4. The valid data begins with a fax EOL
(End of line = 0b000000000001) and ends with a fax RTC (Return to control =
six consecutive EOLs). A variable number of zero bits may precede and/or
follow the valid data. This increases the efficiency of storing received fax
data by eliminating the need for bit shifting. Note, therefore, that the
leading EOL and the trailing RTC may not be byte-aligned.
A multiple-page fax can be stored variously as multiple files, an IFF CAT
object, or, most preferably, an IFF LIST object with a shared FXHD chunk.
FLOG Chunk
==========
The optional data chunk "FLOG" contains log information about a received
fax. The specification for this chunk will be submitted at a later date.
/***************************************************************************/
/* FaxxIFF.h */
/***************************************************************************/
#define ID_FAXX MakeID('F','A','X','X')
#define ID_FXHD MakeID('F','X','H','D')
#define ID_PAGE MakeID('P','A','G','E')
#define ID_FLOG MakeID('F','L','O','G')
/* LineLength Codes */
#define FXLNGSTD 215 /* 1728 pixels along std line lng of 215mm */
#define FXLNGLONG 255 /* 2048 pixels along opt line lng of 255mm */
#define FXLNGLONGER 303 /* 2432 pixels along opt line lng of 303mm */
#define FXLNGA5 151 /* 1216/1728 pixels along opt line lng of 151mm */
#define FXLNGA6 107 /* 864/1728 pixels along opt line lng of 107mm */
/* VRes Codes */
#define FXVRESNORM 385 /* Normal resolution: 3.85 lines/mm */
#define FXVRESFINE 770 /* Fine resolution: 7.7 lines/mm */
/* Compression Codes */
/* Codes 129, 130, and 131 are reserved */
#define FXCMPNONE 0 /* No compression -- available under Group IV */
#define FXCMPMH 1 /* One-dimensional (MH) coding */
#define FXCMPMR 2 /* Two-dimensional (MR) coding */
#define FXCMPMMR 4 /* Modified Two-dimensional (MMR) coding */
typedef struct {
UWORD Width, Height; /* Image width and height, in pixels */
UWORD LineLength; /* Scan line length, in millimeters */
UWORD VRes; /* Vertical Resolution, in lines/100mm */
UBYTE Compression; /* Compression method */
UBYTE Pad[11]; /* Room for expansion */
} FaxHeader;